package com.heima.method;

public class Demo4 {
    public static void main(String[] args) {
        int number = 100;
        System.out.println("调用change1方法前:" + number);
        change1(number);
        System.out.println("调用change1方法后:" + number);
        System.out.println("-----------------------------------------");
        int[] data=new int[]{1,12,123,1234,12345};
        int[] da=new int[]{1,12,123,1234,12345};
        System.out.println("调用change2方法前:" + data[0]);

        System.out.println("调用change2方法前data的引用地址:" + data);
        change2(data,da);
        System.out.println("调用change2方法后:" + data[0]);
        System.out.println("调用change2方法后data的引用地址:" + data);

    }
    public static void change1(int number){
        number=200;
    }
    public static void change2(int[] data,int[] da){
        data[0]=200;
        System.out.println("change方法中data的地址改变前"+data);
        data=da;
        System.out.println("change方法中data的地址改变后"+data);
    }
    //总结:基本数据类型的传参改变不影响实际参数,引用数据类型的传参改变实际参数
    //但是改变参数中的引用数据类型引用地址,不改变实际参数的引用数据类型引用地址
    //参数其实就是复制了一份地址,基本数据类型无地址引用只有数值,而引用数据类型复制的是引用地址
    //参考多个数组指向同一个数组地址的引用



}
